/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：DeviceSymbolLabelFigure.js<br>
 * 日期：2016年10月21日<br>
 * 作者: 王志远<br>
 * 功能：器件图片<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/
window.makeNamespace(window,"Rainier.UI.V2");

/**
 * 类型名称：Rainier.UI.V2.DeviceSymbolLabelFigure<br>
 * 类型功能：器件盒子图元<br>
 * 接口函数：<br>
 * 成员变量：<br>
 */
Rainier.UI.V2.DeviceSymbolLabelFigure = draw2d.shape.basic.Label.extend({
	
	/**
	 * 函数名称：Rainier.UI.V2.DeviceSymbolLabelFigure.init<br>
	 * 函数功能：构造函数<br>
	 * 参数输入：property<br>
	 * 异常信息：<br>
	 */
	init:function(property){
		var dummy = $.extend({},property);
		dummy.stroke = 0;
		this._super(property);
		var _this = this;
	},
	
	/**
	 * 函数名称：<br>
	 * 函数功能：<br>
	 * 参数输入：<br>
	 * 参数输出：<br>
	 * 函数返回：<br>
	 * 异常信息：<br>
	 */
	commitEvent : function(textValue){
	       var canvas 		= this.getCanvas();
	       var ctx	  		= canvas.context;
	       var parentFigure = this.getParent();
	       
	       var deviceEditPart = ctx.findEditPartByFigure(parentFigure);
	       var deviceModel	  = deviceEditPart.getModel();
	       //校验当前界面上，是否有重名对象
	       var rootModel	  = deviceModel.getParent();
	       
	       if(!ctx.labelList['nameList']){
	    	   var list = [];
	    	   ctx.labelList['nameList'] = list;
	       }
	       
	       var findFlag = 0;
	       var children = rootModel.getChildren();
	       $.each(children,function(index,child){
    		   var labelName = child.getProperty().modelProperty.label;
	    	   if(deviceModel !== child && labelName.toLowerCase() === textValue.toLowerCase()){
	    		   findFlag = 1;
	    		   return false;
	    	   }
	       })
	       if(findFlag === 1){
	    	   alert("对不起，你的命名和已有元件命名重复，请重新命名");
	       }else{
	    	   var propertyObj	  = deviceModel.getProperty();
		       deviceModel.setProperty(propertyObj,"label",textValue);
		       ctx.labelList['nameList'].push(textValue);
	       }
	}
});
